package com.agent.service;

import java.util.List;
import java.util.Map;

import com.agent.entity.User;
import com.agent.page.EasyuiPage;

import com.agent.entity.RepaireInfo;
import com.agent.vo.RepaireInfoVO;
import org.apache.poi.ss.usermodel.Workbook;

public interface IRepaireInfoService {

    public EasyuiPage<RepaireInfo> searchRepaireInfo(Integer page, Integer rows, RepaireInfoVO vo);
    public EasyuiPage<RepaireInfo> searchRepaireInfoForReport(Integer page, Integer rows, RepaireInfoVO vo);
    public List<RepaireInfo> getRepaireInfoList(RepaireInfoVO vo);

    public List<RepaireInfo> searchRepaireInfoByStatus(Map<String, String> map);
    public List<RepaireInfo> searchRepaireInfoByStatus06(Map<String, String> map);
    public List<RepaireInfo> searchRepaireInfoForCustom(Map<String, String> map);

    public RepaireInfo getRepaireInfo(String id);
    public RepaireInfo getRepaireInfoByOrderId(String id);

    public List<RepaireInfo> searchAll();

    Workbook exportExcel(RepaireInfoVO vo)throws Exception;

    public void insert(RepaireInfo repaireInfo) throws Exception;

    public void insertByUserId(String userId, RepaireInfoVO repaireInfo) throws Exception;

    public void update(RepaireInfo repaireInfo);

    public void delete(String id);

    int updateByWorkOrderId(RepaireInfo repaireInfo);

    Long insertAndAllocation(String userId, RepaireInfoVO repaireInfoVO) throws Exception;

    User circulation(String userId, RepaireInfoVO repaireInfoVO, String type) throws Exception;

    int selectExpaireInfo() throws Exception;

    List<RepaireInfo> searchRepaireInfoPending(Map<String, String> map) throws Exception;

    List<RepaireInfo> selectExpaireInfos() throws Exception;
    void notifyEngineer(List<User> list) throws Exception;
}
